Log-structured storage systems have been proposed to improve the performance of writing data by converting random writes to sequential writes. Storage devices, such as hard disk drives, have sequential access throughput that is orders of magnitude faster than random I/O throughput. However, log-structured storage devices and systems are expensive to implement, and have significant drawbacks. While random writes are converted to sequential writes, sequential reads tend to be converted to random reads, thus negating any performance gains. Typically, log-based file systems are more complex to implement and manage. The net result is that log-structured storage devices and systems are not widely deployed.
Kenchammana-Hoskote and Sarkar (U.S. Patent Application U.S. Pat. No. 6,516,380 describes a prior art solution in which data writes are logged sequentially to a separate storage device and in which the meta-data associated with the log is recorded disjointly from the log. This solution is not viable in the case of a single primary storage medium as it requires the independence of the log from the primary medium to maintain performance coherency.
Mattson and Menon (U.S. Pat. No. 5,416,915) describes another prior art solution in which write performance is enhanced by parallelizing the write operations over an array of disks. This solution does not take advantage of the performance of sequential writing.
Rosenblum et al (“The Design and Implementation of a Log Structured File System,” ACM Transactions on Computer Systems, V10-1, February 1992, pp. 26–52) describes yet another prior art solution in which a file system is designed to make sequential writes for performance reasons. However, this solution is only applicable to systems where a log-structured file system can be implemented; and is hence host dependent. In addition, the full performance of such a system will not be realized unless the file system is cognizant of the underlying properties of the storage system; this is typically not the case.
Therefore, there remains a need for a log-structured write cache for use in storage devices and systems that can efficiently write random data without the above-described disadvantages